Bahasa Tersembunyi di Dalam
Rust memiliki rahasia: sebenarnya dua bahasa dalam satu. Sementara Rust Aman adalah pelindungmu, kompiler Rust pada dasarnya konservatif. Ia mengikuti filosofi ketat: lebih baik menolak program yang sah dan aman daripada secara tidak sengaja membiarkan satu program berbahaya. Hal ini menciptakan celah antara apa yang bisa dilakukan perangkat keras dan apa yang bisa dibuktikan oleh kompiler.
Realitas yang Kaku
Bayangkan kompiler sebagai penjaga pintu yang ketat. Dalam contoh kode kita, pengawas pencocokan jika y berlaku untuk seluruh kelompok pola (4 | 5 | 6). Kaku ini prioritas mencerminkan cara Kerangka Peminjaman bekerja; ia menerapkan aturan global tanpa kompromi terhadap memori kamu. Namun perangkat keras komputer pada dasarnya secara inheren tidak aman; ia tidak memahami kepemilikan atau umur. Untuk membuat alat berkinerja tinggi seperti split_at_mut, kita harus masuk ke dalam Rust yang Tidak Aman 'lubang penyelamatan' untuk melakukan operasi yang secara teknis aman tetapi secara logika terlalu kompleks bagi analisis statis kompiler.
Celah antara lingkaran merah dan hijau adalah tempat Rust yang Tidak Aman hidup—memungkinkan kita mencapai potensi penuh dari perangkat keras saat analisis statis gagal.